package com.example.myapplication.DesignPatterns.exteriorPatterns;

/**
 * 什么是外观模式：
 * 外观模式也可以称作门面模式，将子系统的内部的复杂性隐藏，为外界或者客户端提供一个接口使用，使子系统更容易被使用和访问。
 *
 * 应用场景：
 * 1、开发阶段，子系统越来越复杂，增加外观模式提供一个简单的调用接口；
 * 2、维护大型遗留系统时，可能这个系统已经非常难以维护和扩展，但又包含非常重要的功能，为其开发一个外观类，以便新系统与其交互；
 * 3、子系统之间相互独立。
 *
 * 总结优点：
 * 1、子系统与客户端之间的松耦合，子系统更加容易维护和拓展；
 * 2、客户端屏蔽了子系统组件，减少了客户端所需处理的对象数目，并使得子系统使用起来更加容易；
 * 3、客户端调用子系统时更简单，不需要关注子系统内部的一些结构和功能。
 */
public class Client {
    public static void main(String[] args) {
        System.out.println("开始报销审批。。。。。。。");
        XiaoMi xiaoMi = new XiaoMi();
        xiaoMi.xiaomiApprove();
        System.out.println("结束报销审批。。。。。。。");
    }

}
